package com.dictionary.cn.core;

import java.util.List;

import com.dictionary.cn.core.dictionaryservice.dcitionarybean.Dictionary;

public interface DictionaryService<T extends Dictionary> {
    
    /**
     * 
     * <p>
     * 更具key获取一个dic
     * </p>
     * @author xiaoruihu
     * @date 2015-5-28 下午03:27:24
     * @param key
     * @return
     */
    public T getDicByKey(String key);
    
    
    /**
     * 
     * <p>
     * 根据条件过滤的key 并更具属性排序  如果没有的话或返回一个空的list
     * </p>
     * @author xiaoruihu
     * @date 2015-5-28 下午03:32:13
     * @param filterProperty  过滤属性
     * @return
     */
    public List<T> getAll(FilterProperty<T> filterProperty);
    
    /**
     * 
     * <p>
     * 刷新字典
     * </p>
     * @author xiaoruihu
     * @date 2015-5-28 下午03:33:21
     */
    public void flush();
    
    /**
     * 
     * <p>
     * 加载字典
     * </p>
     * @author xiaoruihu
     * @date 2015-6-1 下午03:21:09
     */
    public void load(String type, String param);
}
